﻿// 3605. 对称矩阵.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <memory.h>


using namespace std;
/*
https://www.acwing.com/problem/content/3608/

给定一个 N×N的矩阵。

请你判断，该矩阵是否沿主对角线对称。

输入格式
输入包含多组测试数据。

每组数据第一行包含一个整数 N。

接下来 N行，每行包含 N 个整数。

输出格式
每组数据输出一行结果，如果是对称矩阵，则输出 Yes!，否则输出 No!。

数据范围
输入最多包含 10组数据。1≤N≤100
矩阵元素取值范围 [1,100]

输入样例：
4
16 19 16 6
19 16 14 5
16 14 16 3
6 5 3 16
2
1 2
3 4
输出样例：
Yes!
No!
*/

const int N = 200;
int matrix[N][N];
int n;

int main()
{
	while (cin >> n) {
		memset(matrix,0,sizeof matrix);
		int flag = 1;
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < n; j++) {
				cin >> matrix[i][j];
				if (matrix[j][i] != 0 && matrix[i][j] != matrix[j][i]) {
					flag = 0;
				}
			}
		}

		if (flag == 0) {
			cout << "No!" << endl;
		}
		else {
			cout << "Yes!" << endl;
		}
	}
	
	return 0;
}

 